package cn.lccabc.characterString.no0345;

/**
 * @program: leet-code
 * @description: 反转字符串中的元音字母
 * 编写一个函数，以字符串作为输入，反转该字符串中的元音字母。
 *
 * 示例 1:
 *
 * 输入: "hello"
 * 输出: "holle"
 * 示例 2:
 *
 * 输入: "leetcode"
 * 输出: "leotcede"
 * 说明:
 * 元音字母不包含字母"y"。
 *
 * @author: LiCC
 * @create: 2020-01-11 23:04
 */
public class Solution {

    public static String reverseVowels(String s) {
        char[] ch = s.toCharArray();
        int l = 0, r = s.length() - 1;
        while (l < r){
            while (l < r && !isAEIOU(ch[l])) l++;
            while (l < r && !isAEIOU(ch[r])) r--;
            char temp = ch[l];
            ch[l++] = ch[r];
            ch[r--] = temp;

        }
        return String.valueOf(ch);
    }

    private static boolean isAEIOU(char c){
        String s = String.valueOf(c);
        if (s.equals("a") || s.equals("e") || s.equals("i") || s.equals("o") || s.equals("u")
            || s.equals("A") || s.equals("E") || s.equals("I") || s.equals("O") || s.equals("U")){
            return true;
        }
        return false;
    }

    public static void main(String[] args) {
        String str = "aA";
        String result = reverseVowels(str);
        System.out.println(result);
    }
}
